#!/bin/bash

#-------正则表达式介绍一-------
#.   一个任意字符
#*   0个或多个*前的字符
#+   一个或多个+前面的字符
#？  0个或一个？前的字符

echo ".*可以匹配所有字符串  ls|grep .*"
ls|grep '.*'

echo  ".实例 ls|grep 'test..txt'"
ls|grep 'test..txt'

echo "*实例 ls|grep 'test1*.txt'"
ls|grep 'test1*.txt'

echo "+实例  ls|grep 'test1+.txt'"
ls|grep -E 'test1+.txt'

echo "?实例  ls|grep 'test1?.txt'"
ls|grep -E 'test1?.txt'

#--------正则表达式介绍二---------
#[]   []中的任意一个字符，比如数字就是[0-9]、字母[a-zA-Z]
#^    以^后字符开头
#$    以$前字符结尾
#^    []中^表示非，[^0-9]表示不是数字

echo "[]实例  ls|grep 'test[1-3].txt'"
ls |grep 'test[1-3].txt'

echo "#实例 ls|grep '^test.*'"
ls |grep  '^test.*'

echo "$实例 ls|grep .*(txt)$"
ls |grep -E '.*(txt)$'

echo "^实例 ls|grep ^[^a-z].*"
ls |grep '^[^a-z].*'


----------------结果打印---------------------
.*可以匹配所有字符串  ls|grep .*
123
123.txt
regual_expression.sh
test111.txt
test1.txt
test2.txt
test3.txt
test4.txt
test.txt
.实例 ls|grep 'test..txt'
test1.txt
test2.txt
test3.txt
test4.txt
*实例 ls|grep 'test1*.txt'
test111.txt
test1.txt
test.txt
+实例  ls|grep 'test1+.txt'
test111.txt
test1.txt
?实例  ls|grep 'test1?.txt'
test1.txt
test.txt
[]实例  ls|grep 'test[1-3].txt'
test1.txt
test2.txt
test3.txt
#实例 ls|grep '^test.*'
test111.txt
test1.txt
test2.txt
test3.txt
test4.txt
test.txt
$实例 ls|grep .*(txt)$
123.txt
test111.txt
test1.txt
test2.txt
test3.txt
test4.txt
test.txt
^实例 ls|grep ^[^a-z].*
123
123.txt
